package ejb;

import Entites.Client;
import Entites.Entreprise;
import Entites.Utilisateur;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless
public class gestionUtilisateur implements gestionUtilisateurLocal {

    @PersistenceContext(unitName = "boutique-ejbPU")
    private EntityManager em;

    // DEBUT CRUD ENTREPRISE
    @Override
    public void creerEntreprise(Entreprise ste) {
        if (ste != null) {
            em.persist(ste);
        }
    }

    @Override
    public void modifierEntreprise(Entreprise ste) {
        if (ste != null) {
            em.persist(ste);
        }
    }

    @Override
    public boolean desactiverEntreprise(Entreprise ste) {
        if (ste != null) {
            ste.setStatut(false);
        }
        em.merge(ste);
        return true;
    }

    @Override
    public Entreprise chercherEntreprise(Long idEntreprise) {
        return em.find(Entreprise.class, idEntreprise);
    }
    // FIN CRUD ENTREPRISE

    // DEBUT CRUD CLIENT
    @Override
    public void creerClient(Client client) {
        if (client != null) {
            em.persist(client);
        }
    }

    @Override
    public void modifierClient(Client client) {
        if (client != null) {
            em.persist(client);
        }
    }

    @Override
    public String desactiverClient(Client client) {
        if (client != null) {
            client.setStatut("desactive");
        }
        em.merge(client);
        return ("desactivée");
    }

    @Override
    public Client chercherClient(Long idClient) {
        return em.find( Client.class, idClient);
    }
    // FIN CRUD CLIENT
    
    //Authentification du user
    @Override
     public boolean auth( String login, String password) {
        if( login==null) return false;
        if( password==null) return false;
        if( login.trim().isEmpty()) return false;
        if( password.trim().isEmpty()) return false;

        Utilisateur user= em.find(Utilisateur.class, login);
        if( user==null) return false;
        
        return user.getMotDePasse().equals(password);
    }

     //Validation vendeur
    @Override
     public String validVendeur (Entreprise vendeur){
         if(vendeur != null){
             vendeur.setStatut(true);
         }
         return ("vendeur validé");
     }
         
    @Override
    public void persist(Object object) {
        em.persist(object);
    }
}
